/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.latesis.bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;


/**
 *
 * @author Alan -  Desarrollo
 */
@Entity
@Table(name="TBL_PROPIETARIO")
public class PropietarioBean implements Serializable{
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
        private Long id;
    @Column(name="nombre",length = 40)
        private String nombres;
    @Column(name="apepat",length = 20)
        private String apellidoPaterno;
    @Column(name="apemat",length = 20)
        private String apellidoMaterno;
    @Column(name="correo",nullable=true,length = 30)
        private String correo;
    @Column(name="direccion",nullable=true,length = 200)
        private String direccion;
    @Column(name="tipdoc",length = 1)
        private String tipoDocumento;
    @Column(name="numdoc",length = 11)
        private String numeroDocumento;
    @Column(name="telefono",nullable=true,length = 15)
        private String telefono;
    @Column(name="estado",length = 1)
        private String estado;
    @Column(name="sexo",length = 1)
        private String sexo;
    @Column(name="fechaNacimiento")
    @Temporal(javax.persistence.TemporalType.DATE)
        private Date fechaNacimiento;
    @OneToMany(fetch = FetchType.LAZY, mappedBy="propietario")
        private List<MovilBean> moviles= new ArrayList<MovilBean>();

    public PropietarioBean(Long id, String nombres, String apellidoPaterno, String apellidoMaterno, String correo, String direccion, String tipoDocumento,String numeroDocumento, String telefono, String estado, List<MovilBean> moviles, Date fechaNacimiento) {
        this.id = id;
        this.nombres = nombres;
        this.apellidoPaterno = apellidoPaterno;
        this.apellidoMaterno = apellidoMaterno;
        this.correo = correo;
        this.direccion = direccion;
        this.tipoDocumento = tipoDocumento;
        this.numeroDocumento = numeroDocumento;
        this.telefono = telefono;
        this.estado = estado;
        this.moviles = moviles;
        this.fechaNacimiento=fechaNacimiento;
    }

    public PropietarioBean() {
        moviles=new ArrayList<MovilBean>();
    }

    public String getApellidoMaterno() {
        return apellidoMaterno;
    }

    public void setApellidoMaterno(String apellidoMaterno) {
        this.apellidoMaterno = apellidoMaterno;
    }

    public String getApellidoPaterno() {
        return apellidoPaterno;
    }

    public void setApellidoPaterno(String apellidoPaterno) {
        this.apellidoPaterno = apellidoPaterno;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNombres() {
        return nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres;
    }   

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public List<MovilBean> getMoviles() {
        return moviles;
    }

    public void setMoviles(List<MovilBean> moviles) {
        this.moviles = moviles;
    }
    
    public void addMovil(MovilBean movil){
        this.moviles.add(movil);
    }

    /**
     * @return the fechaNacimiento
     */
    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }

    /**
     * @param fechaNacimiento the fechaNacimiento to set
     */
    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    /**
     * @return the tipoDocumento
     */
    public String getTipoDocumento() {
        return tipoDocumento;
    }

    /**
     * @param tipoDocumento the tipoDocumento to set
     */
    public void setTipoDocumento(String tipoDocumento) {
        this.tipoDocumento = tipoDocumento;
    }

    /**
     * @return the numeroDocumento
     */
    public String getNumeroDocumento() {
        return numeroDocumento;
    }

    /**
     * @param numeroDocumento the numeroDocumento to set
     */
    public void setNumeroDocumento(String numeroDocumento) {
        this.numeroDocumento = numeroDocumento;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }
}
